Skip to main content

Crear cámaras mediante programación

El BasicMotion_CreateCamTableOnline.project El proyecto de muestra se encuentra en el directorio de instalación de CODESYS bajo ..\CODESYS SoftMotion\Examples.

El ejemplo muestra cómo puede usar el código IEC para crear y usar una cámara. Aquí se tratan los siguientes puntos

  • Una cámara creada en el editor de cámaras se vuelve a crear con código IEC.

    • En un caso, el disco de leva se genera en la tarea de bus.

    • En el otro caso, el disco de leva se genera en una tarea separada.

  • Luego, las tres levas funcionan con el mismo eje maestro y diferentes ejes esclavos. El movimiento de las tres esclavas es idéntico.

  • La leva generada en el código IEC se muestra en la visualización.

Para obtener más información sobre la creación programática de cámaras, consulte: Crear cámaras mediante programación

Estructura de la aplicación

La aplicación consta de los siguientes componentes:

  • CamOffline

    La cámara creada en el editor de cámaras que debe volver a crearse con el código IEC.

  • PLC_PRG

    El programa consiste en una máquina de estados simple y, lógicamente, en tres partes. En la primera y la segunda parte, se crea una leva en código IEC. En la tercera parte, se ejecutan las cámaras creadas anteriormente y una cámara idéntica creada sin conexión

    • Parte 1:

      en el primer estado STATE_CREATE_ONLINE_TABLE, se crea una leva en código IEC. El SMCB.CamBuilder bloque de funciones del SM3_CamBuilder La biblioteca se utiliza para este propósito. Se agregan tres segmentos: un elemento Poly5 seguido de un elemento Line y otro elemento Poly5. El constructor genera un camonline cámara de esto. A partir de este momento, la leva se crea en código IEC y se puede utilizar de la misma manera que la Cámara sin conexión cámara creada sin conexión en el editor de cámara.

    • Parte 2:

      En el STATE_INIT_ONLINE_TABLE_MULTITASK, STATE_START_CREATE_ONLINE_TABLE_MULTITASK, y STATE_READ_ONLINE_TABLE_MULTITASK indica que la creación de la cámara se inicia en otra tarea y, a continuación, se lee.

    • Parte 3:

      En el STATE_POWER_DRIVES estado, se inicializan los ejes virtuales del eje maestro y de los tres ejes esclavos. A continuación, las levas se seleccionan mediante MC_CamTableSelect en el STATE_SELECT_TABLE estado y ejecutado en la final STATE_MOVEMENT estado. El eje maestro se mueve usando MC_MoveVelocity y se usa como maestro para las tres levas.

  • MultitaskCamBuilder

    Un programa que genera una cámara como se describe en la parte 1 de PLC_PRG. La única diferencia aquí es que se utiliza una variante de la cámara multitarea y segura para varios núcleos

  • GVL

    Aquí se instancia la variante multitarea/multicore segura de la cámara.

  • Visualization

    La visualización contiene el SMC_Visu_CamDisplayer elemento para mostrar cámaras. La cámara generada en la parte 1 de PLC_PRG se muestra.

  • CamDisplayerSettings

    Elementos adicionales para mostrar la cámara en Visualization

  • Trace

    Puede usar la traza para rastrear el movimiento de los ejes virtuales. Se registra la posición actual del maestro, así como la posición, la velocidad y la aceleración de los tres ejes secundarios.

Puesta en servicio

  1. Compile la aplicación y descárguela a un controlador.

  2. Inicie el rastreo y la aplicación.

  3. Observe el rastro de muestreo.

  4. Visualización de la cámara generada en la visualización